package taller.xml.parser;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import taller.dataLayer.vo.FacturaVO;
import taller.dataLayer.vo.ItemFacturaVO;

import com.thoughtworks.xstream.annotations.XStreamAlias;

@XStreamAlias("Factura")
public class FacturaParser {
	private int numero;
	private Date fechaEmision;
	private int oficVta;
	private String condicionVenta;
	private float total;
	private float subTotal;
	private float recargo;
	private float descuento;
	
	@XStreamAlias("Items")
	private List<ItemFacturaParser> items;

	public FacturaVO getFacturaVO(){
		FacturaVO fact = new FacturaVO();
		fact.setNumero(this.numero);
		fact.setFechaEmision(this.fechaEmision);
		fact.setNumeroOficinaDeVenta(this.oficVta);
		fact.setCondicionVenta(this.condicionVenta);
		fact.setTotal(this.total);
		fact.setSubTotal(this.subTotal);
		fact.setRecargo(this.recargo);
		fact.setDescuento(this.descuento);
		
		List<ItemFacturaVO> itemsFact = new ArrayList<ItemFacturaVO>();
		for (ItemFacturaParser itemParser : this.items) {
			itemsFact.add(itemParser.getItemFacturaVO());
		}
		fact.setItems(itemsFact);
		
		return fact;
	}
	
	public int getNumero() {
		return numero;
	}

	public void setNumero(int numero) {
		this.numero = numero;
	}

	public Date getFechaEmision() {
		return fechaEmision;
	}

	public void setFechaEmision(Date fechaEmision) {
		this.fechaEmision = fechaEmision;
	}

	public int getOficVta() {
		return oficVta;
	}

	public void setOficVta(int oficVta) {
		this.oficVta = oficVta;
	}

	public String getCondicionVenta() {
		return condicionVenta;
	}

	public void setCondicionVenta(String condicionVenta) {
		this.condicionVenta = condicionVenta;
	}

	public float getTotal() {
		return total;
	}

	public void setTotal(float total) {
		this.total = total;
	}

	public float getSubTotal() {
		return subTotal;
	}

	public void setSubTotal(float subTotal) {
		this.subTotal = subTotal;
	}

	public float getRecargo() {
		return recargo;
	}

	public void setRecargo(float recargo) {
		this.recargo = recargo;
	}

	public float getDescuento() {
		return descuento;
	}

	public void setDescuento(float descuento) {
		this.descuento = descuento;
	}

	public List<ItemFacturaParser> getItems() {
		return items;
	}

	public void setItems(List<ItemFacturaParser> items) {
		this.items = items;
	}
}
